class Animal(object):
	def run(self):
		print("Animal run")

class Dog(Animal):
	def run(self):
		print("Dog run")

class MockRun(object):
	def run(self):
		print("Mock run")

def run_with(animal):
	print("run_with:")
	animal.run()
	

animal = Animal()
animal.run()

dog = Dog()
dog.run()

dog_is_animal = isinstance(dog, Animal)
print("dog_is_animal:", dog_is_animal)

run_with(animal)
run_with(dog)

mock = MockRun()
run_with(mock)